Vehicle accessory trainable transmitter

ABSTRACT

A vehicle accessory includes a trainable transmitter for duplicating the signal of an existing remote control. In one embodiment, the system includes a variable frequency generator having a frequency control input and an output. In one embodiment, also, the transmitter includes a switch for selectively disabling the variable frequency generator. According to another embodiment, the transmitter is trained by adjusting the frequency of the signal output by the variable frequency generator until it matches a signal transmitted by an existing remote control for a garage door opening mechanism. According to another embodiment, a variable attenuator is controlled to adjust the magnitude of the output signal of the variable frequency generator in inverse relationship to the duty cycle of output signals therefrom.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 08/263,263, filed on Jun. 21, 1994, now U.S. Pat. No. 5,479,155, which is a continuation of U.S. patent application Ser. No. 07/874,361, filed on Apr. 24, 1992, now abandoned, which is a continuation-in-part of pending U.S. patent application Ser. No. 07/567,390, filed on Aug. 14, 1990, which is a continuation-in-part of U.S. patent application Ser. No. 07/279,643, filed on Dec. 5, 1988, now abandoned.

BACKGROUND OF THE INVENTION

The present invention pertains to a vehicle accessory and particularly to an accessory which includes a trainable transmitter for remotely controlling devices such as a garage door opening mechanism.

Electrically operated garage door openers are a popular vehicle and home accessory. Their operation typically requires the use of a remote transmitter which is battery powered and carried in the homeowner's vehicle for transmitting radio frequency signals which are received by a garage door opener receiver for controlling the garage door opening mechanism attached to the garage door. In the prior art, the garage door transmitters have consisted of an enclosure with a battery which must be periodically replaced. The unit is portable and vehicle owners typically either clip them to the vehicle visor or in some cases they are removably mounted to the dashboard.

There exists several inconveniences with such prior art units, the first being that with the portable unit it is typically necessary to physically reach for and move the unit from a storage location into an optimum position for operation of the garage door. This optimum position is usually in the windshield area. Thus, if the portable unit is mounted on the dash board, it must be removed and directed toward the garage door for operation. If it is mounted on the visor, it can become a safety hazard in the form of a relatively hard projection at the head level in the vehicle. Further, it obstructs motion of the visor, which when moved, sometimes knocks the transmitter from the visor. Thus, such an arrangement interferes with visor use and poses a safety threat.

Further, there has been a recent increase in the theft of portable garage door opening transmitters, even, for example, at car wash facilities where the car is unattended by the owner. The thief has access to the interiors of the vehicle and can copy the home address from the registration and remove the garage door opening transmitter which will not be missed until a later time. This provides access to the owner's garage which may be locked and frequently the home which is thought to be secure by the locking of the garage. Thus, the common portable garage door opening transmitter which typically is provided with the garage door opener suffers from many problems including as well that they frequently are unsightly and do not match the vehicle's interior decor.

One successful method of solving some of the problems and providing a convenient location for the remote control in the vehicle involves mounting the existing remote control in a vehicle storage compartment such as taught by U.S. Pat. No. 4,595,228. This however does not prevent the theft problem. U.S. Pat. No. 4,447,808 entitled REARVIEW MIRROR TRANSMITTER ASSEMBLY issued to Marcus on May 8, 1984, teaches the mounting of a garage door opening transmitter in a rearview mirror assembly. U.S. Pat. No. 4,241,870 entitled REMOTE TRANSMITTER IN HOUSING issued to Marcus on Dec. 30, 1980, teaches the mounting of such a transmitter in a console on a vehicle headliner. U.S. Pat. No. 4,427,850 entitled VISOR AND GARAGE DOOR OPERATOR ASSEMBLY issued to Marcus on Jan. 27, 1981, teaches the mounting of a garage door opening transmitter in a visor. Although the systems described in the latter three patents disclose convenient locations for integrally mounting a remote control transmitter in a vehicle, both require a new homeowner receiver or electrical modification of the receiver to interface with the vehicle installed transmitter such that the same frequency and coding is employed.

SUMMARY OF THE INVENTION

The system of the present invention represents an improvement over the prior art by providing a trainable transmitter for integrally mounting in a vehicle and one which therefore does not require modification of the homeowner's receiver or the vehicle after the vehicle is purchased. According to one aspect of the invention, a vehicle accessory is provided for mounting to the interior of a vehicle in an area available to the vehicle operator and includes a transceiver for receiving signals from an existing garage door opening transmitter. The transceiver includes means for detecting the frequency and coding of signals from an existing garage door opening transmitter and for providing a modulating output signal representative thereof. The transceiver also includes a transmitter coupled to said detecting means and responsive to said modulating signal therefrom for outputting a control signal which duplicates the signal of the existing remote control transmitter. In a preferred embodiment the transceiver includes a variable frequency generator for generating an output signal having a selected frequency. An output circuit is connected to the output of the variable frequency generator to transmit the signal output from the variable frequency generator to activate the receiver and actuate the garage door opening mechanism. The system further includes an input circuit which detects a transmitted signal from an existing remote control transmitter and outputs the detected signal to a control circuit which generates a frequency control signal which controls the variable frequency generator. According to another aspect of the invention, the frequency of the signal generated by the variable frequency generator is adjusted until data is detected at the input of the control circuit.

According to yet another aspect of the invention, the variable frequency generator includes a switch having a switch control input and the control circuit generates a switch control signal including a pulse sequence which selectively disables a voltage controlled oscillator.

One aspect of the invention includes a variable impedance means having a signal input coupled to the output of the variable frequency generator for controlling the magnitude of the signal transmitted by the output device.

A variable frequency generator, according to another aspect of the invention, includes a fixed reference signal generator, a variable frequency reference signal generator, a summer connected to the variable frequency signal generator and the fixed frequency signal generator for combining an output of the variable frequency generator and an output of the fixed frequency generator, a sample-and-hold circuit coupled to an output of said summer, and a voltage controlled oscillator connected to an output of the sample-and-hold circuit, with the voltage controlled oscillator outputting said variable frequency generator output signal.

A trainable transmitter is thus disclosed which includes circuit means to allow it to be trained to transmit a variety of different control signals compatible with different types of existing garage door opening mechanisms. The transmitter learns one of the garage door opener remote control signals from an existing transmitter and thus its installation as original equipment in a vehicle does not require modification of the vehicle owner's garage door opening receiver. Remote signals from a remote control transmitter are reliably learned and retransmitted with the system of the present invention to control existing garage door opening mechanism.

These and other features, objects and advantages of the present invention can best be understood by referring to the following description of the invention together with reference to the accompanying drawings in which:

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a fragmentary front elevational view of a vehicle and vehicle accessory including a trainable transmitter according to the present invention;

FIG. 2 is a left side elevational view of the accessory shown in FIG. 1;

FIG. 3 is a perspective view of an alternate housing for the trainable transmitter according to the present invention;

FIG. 4 is an electrical circuit diagram partly in block and schematic form of a transceiver embodying the present invention;

FIG. 5 is an electrical circuit diagram partly in block and schematic form of a transceiver embodying the present invention;

FIGS. 6a, 6b and 6c constitute a flow diagram of the main program employed in the micro-controller of the programmable control circuit shown in FIGS. 4 and 5;

FIG. 7 is a flow diagram for one of the program subroutines shown in FIGS. 6a-6c;

FIG. 8 is a flow diagram for one of the program subroutines shown in FIGS. 6a-6c; and

FIG. 9 is a flow diagram for another program subroutine shown in FIGS. 6a-6c.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring initially to FIG. 1, in this embodiment, the invention is integrated into a mirror assembly 20 which includes a transceiver 55 (FIG. 4) which selectively transmits coded radio frequency (RF) energy as indicated by arrow "T" to a garage door opening mechanism 26 shown in block form in FIG. 5. The conventional garage door opening mechanism 26 includes a receiver and control circuit which are responsive to the control signal "T" for opening and closing a garage door. The transceiver 55 includes a programmable micro-controller 57 which controls a radio frequency (RF) circuit 58 to generate signal "T" which is of a frequency and code learned from signal "B" transmitted by an existing remote control transmitter 40 while transceiver 55 is in a training mode as described in greater detail below. The transceiver can than transmit the stored signal as remote control signal "T" to activate garage door opening control mechanism 26 (FIG. 5) without further need for the remote transmitter 40. Transmitter 40 is typically provided with the garage door opening mechanism 26 and generates control signal "B" for remotely actuating the garage door opening mechanism but suffers from the storage and use problems discussed above.

Mirror assembly 20 is described in commonly assigned co-pending U.S. patent application Ser. No. 07/685,880 entitled MODULAR MIRROR WITH ELECTRICAL ACCESSORIES filed on Apr. 15, 1991, now U.S. Pat. No. 5,445,716, the disclosure of which is incorporated herein by reference. In general, the mirror construction includes a housing 24 constructed from a rear housing 38 (FIG. 2) and a front mirror frame or bezel 37. Mirror housing 24 is attached to windshield 22 of vehicle 21 or to the edge of the headliner 23 in a conventional manner by a structure including a ball mount 39 while a sheath 25 may be provided to conceal electrical conductors extending from the mirror housing 24 to the remainder of the electrical circuits in the vehicle.

The mirror assembly includes an electrically adjustable mirror 27 provided by any suitable mirror adjustment means such as an electrochromic mirror or an electro-mechanically adjustable mirror which adjusts the reflectivity of mirror 27 according to the driver's need. The mirror assembly also includes a temperature and compass display 28 and five switches 29-31, 46 and 47. Switches 29 and 30 actuate right and left map lamps (not shown) located in the bottom wall of the mirror front bezel 37 and rear housing 38 (FIG. 2). Switch 31 is an electrically adjustable mirror (EAM) train switch which controls an internal control circuit to train the mirror according to current light conditions as described in the above identified U.S. Pat. No. 5,445,716. Switch 46 is a garage door opener (GDO) train/activate switch which selectively controls a micro-controller 57 and a transceiver 58 either to transmit RF signal energy "T", which actuates the garage door opening mechanism 26, or to receive and store the control signal "B" from remote control 40, as described below with respect to FIGS. 6a-9. By receiving and storing control signal "B" from remote control 40, the circuit controller is trained to later transmit signal energy "T" which will be effective to actuate mechanism 26. Switch 47 is a three position switch which is used to select one of three different signals stored in micro-controller 57 for actuating up to three different door opening mechanisms for multiple car garages.

Control circuit 55 may alternately be provided in a generally square module housing 43 including a front panel 45 as seen in FIG. 3. A GDO activate/train switch 46 is provided on panel 45 as is an LED indicator 48 to provide visual signals to a user during training of the transmitter. Three-position switch 47 is utilized to select one of three different stored codes and is also positioned on panel 45. The module housing 43 is small such that it may be installed at a variety of suitable locations in the vehicle, such as in an overhead console, a map light, the instrument panel, or any other suitable position within the vehicle. In one embodiment, module 43 is approximately 2"×2" and has a height of less than one inch.

Having briefly described the overall preferred mounting environment of this system and its relationship to a vehicle, a detailed description of the preferred embodiment of the invention is now presented in connection first with the circuit diagrams of FIGS. 4 and 5 and subsequently with reference to a program flow diagram of FIGS. 6a-9.

Referring to FIG. 4, RF transceiver circuit 55 is mounted within mirror housing 24 (FIGS. 1 and 2) or module housing 43 (FIG. 3) and includes a power supply 56 for converting operating power from the vehicles battery supply to the necessary voltage levels for activation of the electrical circuits to which supply 56 is coupled in a conventional manner. Circuit 55 includes a micro-controller 57 coupled to an RF circuit 58 and to a three position channel select switch 47. Circuit 55 also includes an indicator LED 48, and a transmit switch 46 coupling power supply 56 to the vehicle's battery positive supply, and a connection to battery ground. As seen in FIG. 5, RF circuit 58 includes a summing circuit 60 which sums a signal output from reference signal generator 61 and a signal output from a divide-by-N divider 62. Reference generator 61 generates a fixed frequency signal and may include a commercially available crystal oscillator with an output frequency of approximately 8 MHz and a divider which reduces the reference frequency signal to 7.8125 KHz. The controllable divider 61 is provided by any suitable commercially available divider, such as integrated circuit model numbers 145151 or 145106. The output signal from summing circuit is coupled to the input of a loop filter 63, which is preferably an active integrator including an operational amplifier and a capacitor. The output of the integrator is a DC signal which is applied to the input of a sample-and-hold circuit 64. Sample-and-hold circuit 64 is of any suitable construction such as a switch and capacitor (not shown) with the switch being controlled by a control signal from the output 110 of micro-controller 57. The output of sample-and-hold circuit 64 is applied as a control input signal to a voltage controlled oscillator (VCO) 65.

The output frequency of VCO 65 will increase or decrease according to the magnitude of the control input voltage from sample-and-hold circuit 64. The voltage controlled oscillator may be any suitable voltage controlled oscillator which is tunable to frequencies between 200 and 400 MHz with an input tuning control voltage of 0 to 7 volts, and adapted to operate in the automobile environment. In a preferred embodiment of the invention, VCO 65 is of the type including two varactor diodes, two transistors, capacitors, resistors and an inductor coupled to provide the desired frequency output for a given input voltage. RF circuit 58 also includes a switch 70 connected in parallel with the inductor in VCO 65 such that the VCO generates an oscillating output signal when switch 70 is open. When switch 70 is closed, the inductor is shorted, and the VCO outputs a DC signal. Switch 70 may be any suitable switch, such as a bipolar transistor, an FET, a relay switch, or the like. Sample-and-hold circuit 64 holds the control input voltage to VCO 65 at a set level when the VCO stops generating an oscillating output signal such that the VCO will output a signal having the desired frequency when the VCO is switched from off to on.

The output of VCO 65 is inputted to a divide-by-128 divider 66, a variable attenuator 71, and a mixer 72. Variable attenuator 71 conventionally includes series circuits each of which has a resistor and a switch connected between a node of divider network and ground for controlling the magnitude of the output signal of VCO 65 such that the signal output from VCO 65 has an amplitude inversely related to the duty cycle of control pulses applied to switch 70. Accordingly, signals having a longer on time have a smaller amplitude than signals having a short on time to comply with Federal Communication Regulations. Each of the resistors of attenuator selectively shunts the output of VCO 65 under the control of its associated solid state switch. The switches are controlled by attenuator select signals at output 112 of micro-controller 57. In one implementation of the invention, variable attenuator 71 includes two impedance devices connected in parallel between antenna 73 and ground. Each impedance device includes a resistor connected in series with a switch which may be any suitable device such as bipolar transistors, an FET switch, or the like. In operation, one, two, or neither of the resistors is connected to shunt the output of VCO 65 depending upon duty cycle of the control signal input to switch 70.

Mixer 72 combines the signal output from VCO 65 with signal "B" from remote control 40, which is received by antenna 80. The output signal from mixer 72 is applied to filter 81 and will have a frequency of 3 MHz when the output of VCO 65 is 3 MHz greater than the frequency of the signal from remote control 40. A conventional bandpass filter 81 has a center frequency of 3 MHz to pass the detected signal output of mixer 72 which is applied to the input of amplifier/detector 82. Amplifier/detector 82 includes a half-wave rectifier, provided by a series diode (not shown), and an amplifier. The output of amplifier detector 82 is a digital signal applied to input 113 of micro-controller 57.

Micro-controller 57 controls the operation of circuit 55, and may be provided by any suitable commercially available integrated circuit, such as IC model number HC05P1 available from Motorola. The micro-controller preferably includes a non-volatile memory in which the micro-controller program is stored. The power supply 56 (FIG. 4) provides a regulated 5 volt DC reference potential at terminal 95 and a regulated 12 volt DC reference potential at terminal 96. Circuits for providing the regulated voltages are well known and accordingly will not be described in further detail herein. Power supply 56 receives power from the vehicle battery through switch 46 and battery positive conductor 97. Accordingly, when switch 46 is closed, power is supplied to RF circuit 58 and microprocessor 57. The micro-controller 57 includes a power supply input 101 connected to the 5 volt power supply output 95 to receive power therefrom. Terminals 102 of micro-controller 57 are connected to three-position channel switch 47 to provide the micro-controller with an indication of the position of channel switch 47. Output terminal 103 is connected to LED 48 to energize the LED as described in greater detail hereinafter.

The RF circuit 58 connected to micro-controller 57 includes all of the circuit elements shown in FIG. 5 except for micro-controller 57, garage door opener mechanism 26, and the existing remote control 40. Outputs 108 of micro-controller 57 are connected to divide-by-N divider 62 through multi-conductor bus 104. Bus 104 is connected to the control input of divide-by-N counter 62 to select the frequency of the signal output by divide-by-N counter 62. Output 110 of micro-controller 57 is connected to control the sample-and-hold circuit 64 to hold a signal level when switch 70 is closed such that VCO 65 does not output oscillating signals. Output 111 of micro-controller 57 is connected to the control input of switch 70. Outputs 112 of micro-controller 57 are connected to variable attenuator 71 to select the degree of attenuation to be provided to the signal output from VCO 65. Signals received by antenna 80 are connected to data input 113 of micro-controller 57 through amplifier/detect circuit 82, bandpass filter 81, and mixer 72. The circuit represented by FIGS. 4 and 5 is a self contained trainable transmitter for the environment illustrated in FIG. 3. It will be recognized that the micro-controller 57 will include additional inputs and outputs for the environment illustrated in FIGS. 1 and 2, as disclosed in the above identified application Ser. No. 07/685,880. The main program for the micro-controller 57 of trainable transmitter 55 is shown in FIGS. 6a-6c and is now described.

The program begins when switch 46 (FIGS. 1, 3 and 4) of the trainable transmitter is pushed such that the battery positive conductor 97 (FIG. 4) is connected to power supply 56 as indicated by block 150 in FIG. 6a. Power supply 56 generates a 12 volt DC supply potential provided to RF circuit 58 and a 5 volt DC power supply provided to micro-controller 57 and RF circuit 58. The 5 volt DC supply potential provided to micro-controller 57 powers up the micro-controller. Upon power up, the micro-controller initializes its ports and clears its internal random access memory (RAM) in a conventional manner, as indicated by block 200. After the micro-controller initializes the ports and the RAM, a 15 second timer is started as indicated in block 201. The actual amount of the time in this timer may be as short as 5 seconds or as long as 20 seconds. The micro-controller program then reads inputs 102 to determine the position of channel selector switch 47 (FIGS. 2-4) to determine whether channel 1, 2 or 3 is selected by the user, as indicated in block 202. The micro-controller program determines whether the channel selected by the user is already trained, as indicated in decision block 203. If the selected channel is not trained, the micro-controller program initializes a pointer associated with a frequency table, as indicated in block 204 of FIG. 6b.

The frequency table includes frequency control words for all the frequencies at which data is expected. Remote control transmitters which are utilized to control garage door openers have certain frequencies at which they operate. The table contains frequency control signals which control divide-by-N counter 62 to output a signal which controls the RF circuit to selectively generate output signals at these known frequencies. The table is dynamic, such that additional memory locations are provided in the non-volatile memory which may be accessed to store a new frequency control signal without remasking the non-volatile memory. For example, the micro-controller non-volatile memory can be an electronically erasable programmable read only memory (EEPROM) and the transceiver housing can include a port (not shown) through which the EEPROM is externally accessed for programming the non-volatile memory to include a new frequency. Alternately, a functional tester (not shown) utilized in the manufacturing process, which examines the non-volatile memory, may be used to store additional frequency control signals in the non-volatile memory. Accordingly, frequency control words may be added to accommodate different frequencies which garage door opener mechanism manufacturers add at a later time.

The frequency control word identified by the table pointer controls RF circuit 55 to generate an output signal at a frequency F to detect a possible frequency F₀ of signal B from remote control 40. The frequency F₀ is detected when VCO 65 outputs a signal F which is 3 MHz below F₀. The micro-controller program initially selects a frequency control word which controls the VCO 65 to output a signal which is 4 MHz less than frequency F₀, as indicated in block 205. The micro-controller program clears an X register, which is an eight bit register internal to the micro-controller, as indicated in block 206. The X register is utilized as a counter. The micro-controller program next calls a "VERIFY" subroutine as indicated in block 207, which determines whether data is being received by the micro-controller and is described below in greater detail in connection with FIG. 7. If data is being received, an internal data acknowledge flag (DACK) is set, and the micro-controller program determines whether the data is being received by examining the DACK flag, as indicated in decision block 208. If data is not being received, the X register is incremented, as indicated in block 209. If the count in register X is less than 4, as determined by the micro-controller in decision block 210, the frequency output by VCO 65 is increased by 1 MHz. The program then repeats steps 207-211 until data is received, as indicated by the DACK flag, or the count in register X reaches 4. If the count in register X reaches 4 before data is received, the micro-controller program determines whether data was previously detected by checking a DATPREV flag, as indicated in block 212.

If it is determined that data is received, such that the DACK flag is set, the micro-controller program determines whether the frequency F₀ selected by the frequency control word is the best frequency for emulating the signal from remote control 40. Data should be detected at input 113 of micro-controller 57 when frequency F output by VCO 65 is 3 MHz less than the frequency F₀ from remote control 40. The roll-off characteristic of filter 81 is such that data will sometimes be detected when the frequency output by VCO 65 is within the range which is 4 MHz to 2 MHz below the signal from remote control 40. Accordingly, the micro-controller program must be able to distinguish between frequencies one MHz apart.

To distinguish between frequencies which are one MHz apart, the micro-controller program determines frequencies at which data is detected. To accomplish this, the frequency output by VCO 65 is increased in one MHz increments until data is no longer detected by the micro-controller as indicated in block 216 (FIG. 6b). When the frequency F is incremented such that the data is no longer detected, the desired frequency is one MHz less than the highest frequency at which the data was detected.

The micro-controller next calls the "ENCODE" subroutine as indicated in block 217. The ENCODE subroutine is described in greater detail hereinbelow. The micro-controller program digitizes the data input to the micro-controller in the ENCODE subroutine. Following the ENCODE subroutine, the "CONDENSE" subroutine is called as indicated in block 218. Because a sequence of data stored in the ENCODE subroutine typically includes more than one data word which is sequentially repeated. The CONDENSE subroutine locates the start and stop points of the repeated word so that the data word is only stored once as described hereinbelow.

After the data is encoded and condensed, the micro-controller program determines the best carrier frequency F₀ to emulate signal B. For example, if data is detected when the frequency F of the output signal of VCO 65 is 298 MHz, 299 MHz, and 300 MHz, and data is no longer detected when the frequency F is 301 MHz, the best frequency F to look for data is 299 MHz, and the frequency F₀ of the remote control signal B is 302 MHz. In block 219, the micro-controller program determines whether the frequency F output by VCO 65 is greater than or equal to F₀ -4 MHz or less than or equal to F₀ -2 MHz. If the carrier frequency F is greater than or equal to F₀ -4 MHz and less than or equal to F₀ -2 MHz, the micro-controller program determines whether frequency F is equal to F₀ -2 MHz as indicated in block 222. If the frequency does not equal F₀ -2 MHz as determined in block 222, the data detected in the ENCODE subroutine and carrier frequency F₀ are stored in the micro-controller non-volatile memory. The micro-controller program then decodes and transmits the stored data signals at frequency F₀ as indicated in block 215 (FIG. 6c).

If it is determined that the frequency F of the output signal of VCO 65 is not greater than or equal to F₀ -4 MHz and less than or equal to F₀ -2 MHz in decision block 219 (FIG. 6b), the micro-controller program determines whether the frequency is higher than F₀ -2 MHz as indicated in decision block 220. If the frequency is less than F₀ -4 MHz, the micro-controller stores the frequency F₀ as indicated in block 214 (FIG. 6c) and transmits the frequency and data stored, as indicated in block 215. If it is determined in decision block 220 that the frequency is higher than F₀ -2 MHz, or if it is determined in block 222 that the frequency equals F₀ -2 MHz, the micro-controller sets the DATPREV flag to a logic 1, and returns to block 205 to analyze the next frequency in the frequency table. The micro-controller program repeats steps 205-210 until the DACK flag is set or the count in register X equals 4. If the count equals 4, and no data is detected at the current frequency F₀, the micro-controller determines whether the DATPREV flag is set in block 212. If the DATPREV flag is set, as determined in block 212, the micro-controller program retrieves the previous table frequency F₀ from memory as indicated in block 213. The micro-controller will save the data and the previous frequency F₀ in the non-volatile memory as indicated in block 213. The micro-controller will then decode and transmit the stored code and frequency as indicated in block 215.

In the VERIFY subroutine shown in FIG. 7, the micro-controller program determines whether data is being received as indicated briefly above. The micro-controller program first initiates and starts an 850 microsecond timer, as indicated in block 224, and counts rising edges, as indicated in block 225. The micro-controller program continues to count rising edges until the 850 microsecond timer times out, as indicated in decision block 226. When the timer times out, the micro-controller program determines whether the number of edges is greater than five, as indicated in block 227. If more than five edges are detected in the 850 microsecond interval, the DACK flag is set to 1 and the mode is set to 1 as indicated in block 228. In mode 1, the micro-controller has identified amplitude modulated frequency shift key data, such as used by garage door opening systems marketed under the Genie trademark. If five edges were not detected in the 850 microsecond time interval, as determined in decision block 227, a 70 ms timer is started as indicated by block 229. Rising edges are detected and counted during the 70 ms period. When the timer times out, the micro-controller counts the number of edges detected during the 70 ms period. If more than five edges are detected as determined in block 232, the DACK flag is set and the mode is set to 0 as indicated in block 234. Mode 0 indicates that the data format is a binary code associated with a carrier signal. If fewer than five edges are detected in the 70 ms time interval, the DACK flag is set to 0, as indicated in block 233, indicating that data was not acknowledged, and the micro-controller returns to the main program.

In the ENCODE subroutine shown in FIG. 8, the micro-controller first determines whether the code is a 0 or a 1 mode, as indicated in decision block 235. If the mode is 0, the micro-controller program samples the input 113 every 68 microseconds as indicated in block 236. The micro-controller program then determines whether a 10 ms dead time has elapsed in decision block 237. If the 10 ms time interval has elapsed, the micro-controller starts encoding on the next detected leading edge. Each 68 microseconds, the micro-controller samples the input. The samples are stored until the memory allocated to the samples is full. If it is determined in block 237 that a 10 ms dead time was not present in the samples, the data is sampled and stored in memory as it is received at input 113. The data samples are stored until the memory is filled as indicated in block 239. After the memory is filled, the micro-controller program acknowledges a successful train by flashing LED 48.

If the micro-controller determines that the code is mode 1 in decision block 235, the micro-controller assumes that the frequency of the signals being received alternate between 10 KHz and 20 KHz frequencies as indicated in block 242. The micro-controller waits for 12 consecutive 10 KHz samples before storing the received code in memory as indicated in block 243. The received code is stored in memory until the allocated memory is filled, as indicated in block 244. The micro-controller then acknowledges the successful train by flashing LED 48 before storing the received code in memory, as indicated in block 243. The received code is stored in memory until the allocated memory for storage of the code is filled, as indicated in block 244.

In the CONDENSE subroutine shown in FIG. 9, the micro-controller program first determines whether the code is mode 1 or mode 0 code, as indicated in block 248. If the code is mode 1, the micro-controller program determines whether the 10 KHz or 20 KHz signals stored in memory during the ENCODE subroutine have three or fewer periods, as indicated by decision block 249. If one of the frequencies stored in the memory has three or fewer periods, the micro-controller program acknowledges a failure of the training by flashing LED 48 at a rate different from that of the successful train acknowledgment, and the micro-controller returns to the main program.

If the data does not contain three or fewer periods, the micro-controller determines whether the 10 kHz signal has more than thirty periods, as indicated in block 251. If the micro-controller determines that the 10 kHz data has more than thirty periods, the micro-controller program acknowledges a failure as indicated in block 250, and the program returns to the main program. If it is determined that the data does not have more than thirty 10 kHz periods, the data is presumed to be valid. The first data location in the memory is the starting point for the code stored therein. The memory locations are filled until twelve consecutive 10 kHz periods are detected. Thus, the first memory storage location is the beginning of the data word, and the last 10 kHz sequence of twelve consecutive periods is the end point of the word. The micro-controller recognizes a valid train after the sequence of twelve 10 kHz data periods as indicated in block 254.

If it is determined in block 248 that the program is in mode 0, the micro-controller program determines whether there is a long period without a high logic level stored in memory. If there is a long period without a high logic level signal, the starting point of the data word is the first location in the memory, as indicated in block 256. The end point of the data word is the last location in the memory associated with the long low period. The stored data word is thus repeated in the signal "T" transmitted to activate the garage door opening mechanism. If the micro-controller determines that there is no long period without high logic levels in decision block 255, the micro-controller program determines that the data stored in the memory is continuous data as indicated in block 258, and all the data stored in the memory in the ENCODE subroutine is transmitted as indicated in block 259. The micro-controller program determines whether 120 consecutive samples are high logic levels as indicated in block 260. If 120 consecutive samples are high logic level signals, the micro-controller determines that the data stored is contaminated and a failure is signaled using LED 48 as indicated in block 261.

If the micro-controller program passes the test of decision block 260, the micro-controller program determines whether at any location in the data word less than three consecutive samples are at a high or a low logic level, as indicated in decision block 262. This indicates that a noise spike has contaminated the data. If less than three consecutive samples are at single logic level, a failure is detected and the micro-controller program signals a failure using LED 48 as indicated in block 261. If the data passes the test of decision block 262, the micro-controller determines whether the entire data word is stored in less than ten memory locations, as indicated in decision block 263. If the entire word is stored in fewer than ten memory stack locations, the micro-controller identifies a failure as indicated in block 261. If the data passes the test of decision blocks 260, 262 and 263, the micro-controller program identifies a valid training session and returns to the main program.

If the GDO activate/train switch 46 is pushed, the fifteen-second timer is initialized in block 201 (FIG. 6a), the channel selector is read and the channel identified by the channel selector is trained, as determined in decision block 203, the micro-controller program downloads frequency F₀ and the data word stored in the non-volatile memory associated with the selected channel. The frequency of the divide-by-N counter is set by the signal at outputs 109 of micro-controller 108. Additionally, the attenuation select output 112 is utilized to set the variable attenuator 71 inversely to the duty cycle of the data being transmitted. Thus, if the duty cycle of the control pulses input to switch 70 are long, the amplitude of the signals output through antenna 73 will be proportionally less than the amplitude of signals output from antenna 73 when the pulses have a short duty cycle.

As indicated above, the transceiver includes two training modes for learning two different signal types. In mode 0, an oscillating carrier signal is transmitted when switch 70 is open. The carrier signal is not transmitted when switch 70 is closed. In mode 1, a signal alternating between 10 KHz and 20 KHz signals is continuously transmitting. In mode 1, the number of periods transmitted at each frequency represents the code of the transmitted signal. Because the carrier signal is continuously transmitted in mode 1, the variable attenuator is set to maximum attenuation in mode 1.

Thus, it can be seen that a trainable garage door transmitter is provided which is adapted for use in any remote control garage door opener and includes the flexibility to learn different garage door opener remote control formats. Additionally, the trainable garage door transmitter allows the micro-controller to vary the amplitude of transmitted pulses proportionately to the duty cycle of the transmitted pulses. The trainable transmitter also includes a training technique wherein an input frequency is adjusted until the internal frequency matches an external frequency received by a garage door opener remote control during training. Additionally, the trainable garage door opener has the capability of increasing the number of frequencies identified by control words stored therein. This allows the number of frequency control words to be minimized, reducing the number of frequencies which must be tested to thereby reduce the training time and memory storage requirements of the table, while allowing the number of frequencies to be accommodated. Thus, a flexible and efficient system provides a trainable transmitter in a vehicle which can be integrated into the vehicle as original equipment and replace portable existing transmitters.

It will become apparent to those skilled in the art that various modifications to the preferred embodiment described and disclosed herein can be made. Such modifications will, however, fall within the spirit or scope of the invention as defined in the appended claims. 

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
 1. A transceiver for use in a vehicle comprising:an antenna; a receiver coupled to said antenna for receiving an RF activation signal transmitted from a portable transmitter for actuating a remote device, the RF activation signal having characteristics including a UHF carrier frequency and a data code; a controller coupled to said receiver for identifying the carrier frequency of the received RF activation signal and for storing signal characteristics data representing the identified carrier frequency and the data code of the received RF activation signal; and a transmitter coupled to said controller for receiving the stored signal characteristics data and generating a modulated RF signal having the same characteristics as the received RF activation signal, and coupled to said antenna for transmitting the modulated RF signal to the remote device for actuation thereof.
 2. The transceiver as defined in claim 1, wherein said transmitter includes a voltage controlled oscillator for generating the modulated RF signal, said voltage controlled oscillator having a frequency control terminal coupled to receive a frequency control voltage supplied thereto by said controller, and having a data input terminal coupled to receive a data code from said controller, wherein the frequency control voltage and the data code supplied to said voltage controlled oscillator from the controller corresponds to the stored characteristics data.
 3. The transceiver as defined in claim 2, wherein said receiver has an input terminal coupled to receive a signal output from said voltage controlled oscillator that said receiver utilizes to demodulate the received RF activation signal, and wherein said controller controls the frequency of the signal output by said voltage controlled oscillator to have a predetermined relationship to the carrier frequency of the received RF activation signal such that said receiver demodulates the data code of the received signal and applies said data code to said controller.
 4. The transceiver as defined in claim 1, and further including:a housing defining a portion of a vehicle accessory adapted for mounting to a vehicle, said receiver, controller, and transmitter being positioned in said housing; and means for receiving power from a power supply of the vehicle.
 5. The transceiver as defined in claim 4, wherein said vehicle accessory is a rearview mirror assembly.
 6. The transceiver as defined in claim 1, wherein the carrier frequency of the received RF activation signal may be any frequency falling in the range of 200 to 400 MHz.
 7. An RF transmitter for use in controlling at least one garage door opening mechanism, said transmitter trainable to the frequency, modulation format and code of at least one existing garage door opening transmitter, said RF transmitter comprising:means for receiving an encoded RF signal from an existing RF remote control transmitter, said RF signal having an RF frequency component in the UHF range; an RF frequency output circuit; a microprocessor programmed to operate in a training mode and an operating mode, said microprocessor coupled to said receiving means and to said RF frequency output circuit and when in a training mode operable to store signals identifying the RF frequency, modulation format, and code of the received encoded RF signals; and an operator actuated switch coupled to said microprocessor for controlling the operational state of said microprocessor between said training and operating modes, said microprocessor coupled to said RF frequency output circuit and responsive to the actuation of said switch and said stored signals to transmit signals corresponding to the received encoded RF frequency signals when in said operating mode when said switch is actuated by an operator.
 8. The transmitter as defined in claim 7, wherein said microprocessor is programmed to learn and store the RF frequency, modulation format, and code of a plurality of received encoded RF signals and further including a plurality of operator actuated switches with one switch associated with each learned signal.
 9. The transmitter as defined in claim 7, and further including:a housing defining a portion of a vehicle accessory adapted for mounting to a vehicle, said receiving means, RF output circuit, microprocessor, and operator actuated switch being positioned in said housing; and means for receiving power from a power supply of the vehicle.
 10. The transmitter as defined in claim 9, wherein said vehicle accessory is a rearview mirror assembly.
 11. The transmitter as defined in claim 7, wherein the RF frequency of the received RF signal may be any frequency falling in the range of 200 to 400 MHz.
 12. A trainable transceiver for receiving an activation signal that includes a radio frequency carrier modulated with a code and learning characteristics of the activation signal for subsequently transmitting a signal having the same characteristics for remotely actuating a device, said trainable transceiver comprising:a receiver for receiving an activation signal; a signal generator having a frequency control terminal for receiving a frequency control signal and for generating a reference signal having a variable reference frequency related to said frequency control signal; a demodulator coupled to said receiver and to an output of said signal generator for demodulating the received activation signal using said reference signal; and a controller coupled to said demodulator for detecting the presence of a data code at an output of said demodulator, and coupled to said frequency control terminal of said signal generator for supplying said frequency control signal and changing the reference frequency of said reference signal until a data signal having at least a predetermined number of pulses within a predetermined time period is detected at the output of said demodulator, identifying an RF carrier frequency of the received activation signal based upon the reference frequency at which a data signal was detected, and storing the detected data signal and data representing the RF carrier frequency of the received activation signal.
 13. The trainable transceiver as defined in claim 12, wherein said demodulator includes:a mixer having a first signal input terminal coupled to the output of said receiver for receiving the activation signal and having a second signal input terminal coupled to the output of said signal generator, said mixer providing a signal having the data code of the activation signal modulated at a modulation frequency representing a difference between the reference frequency and the carrier frequency of the activation signal.
 14. The trainable transceiver as defined in claim 13, wherein said demodulator further includes:a bandpass filter having an input coupled to the output of said mixer for blocking all signals supplied to its input from said mixer except signals having a predetermined modulation frequency; and an integrator having an input coupled to receive any signal output from said bandpass filter, said integrator removing the predetermined modulation frequency from the data code present in the received signal and supplying the data code to said controller.
 15. A trainable transceiver operable in a learning mode for receiving an activation signal that includes a radio frequency carrier modulated with a code and learning characteristics of the activation signal, and operable in an operating mode for subsequently transmitting a signal having the same characteristics for remotely actuating a device, said trainable transceiver comprising:a receiver for receiving an activation signal when the trainable transceiver is in a learning mode; a signal generator having a frequency control terminal for receiving a frequency control signal, for generating a reference signal having a variable reference frequency related to a frequency control signal supplied thereto when the trainable transceiver is in the learning mode, and for transmitting a modulated RF output signal having a carrier frequency related to a frequency control signal supplied thereto when the trainable transceiver is in the operating mode; a demodulator coupled to said receiver and to an output of said signal generator for demodulating the received activation signal using said reference signal; and a controller coupled to said demodulator for detecting the presence of a data code at an output of said demodulator, and coupled to said frequency control terminal of said signal generator for supplying said frequency control signal and changing the reference frequency of said reference signal until a data code is detected at the output of said demodulator, said controller identifying an RF carrier frequency of the received activation signal based upon the reference frequency at which a data code was detected, and storing the detected data code and frequency control data representing the RF carrier frequency of the received activation signal when the trainable transceiver is in the learning mode; and when the trainable transceiver is in an operating mode, said controller supplies the stored data code to a data input terminal of said signal generator and supplies a frequency control signal representing the stored frequency control data to the frequency control terminal of said signal generator such that the carrier frequency of the modulated RF output signal transmitted by said signal generator is the same as that of the activation signal received during the learning mode.
 16. A method of training a transceiver to receive, learn, and subsequently transmit RF signals having identifiable characteristics received from remote control transmitters used to actuate a device having an RF receiver, the method comprising the steps of:receiving an RF signal output from the remote control transmitter, the RF signal having characteristics including a carrier frequency and a data code; identifying the carrier frequency of the received RF signal; demodulating the received RF signal by removing the identified carrier frequency from the data code in the received RF signal; storing the data code of the demodulated RF signal; generating a carrier signal having the carrier frequency of the received RF signal; modulating the carrier signal with the stored data code to produce an output RF signal related to the received RF signal; and transmitting said output RF signal to the RF receiver of the device in order to remotely actuate the device.
 17. The method as defined in claim 16, wherein said step of identifying the carrier frequency of the received RF signal includes:generating a reference signal having a predetermined frequency; comparing the reference signal to the received RF signal to determine whether the frequency of the reference signal has a predetermined relation to the carrier frequency of the received RF signal; changing the frequency of the reference signal until the frequency of the reference signal has the predetermined relation to the carrier frequency of the received RF signal; and identifying the carrier frequency of the received RF signal based upon the frequency of the reference signal.
 18. The method as defined in claim 16, wherein said step of demodulating the received RF signal includes:generating a reference signal having a frequency having a predetermined relationship to the carrier frequency of the received RF signal; and mixing the reference signal with the received RF signal to provide a signal representing the data code of the received RF signal.
 19. A method of training a vehicle transceiver to learn an RF carrier frequency and data code of an RF control signal received from a remote transmitter, for subsequent transmission of an RF signal having the learned RF carrier frequency and data code of the received RF control signal, the method comprising the steps of:receiving an RF control signal from a remote transmitter; generating a reference signal having a predetermined frequency; comparing the reference signal to the received RF signal to determine whether the frequency of the reference signal has a predetermined relationship to the RF carrier frequency of the received RF control signal; changing the frequency of the reference signal until the frequency of the reference signal has the predetermined relationship to the RF carrier frequency of the received RF control signal; identifying the RF carrier frequency of the received RF control signal based upon the frequency of the reference signal; storing frequency control data representing the RF carrier frequency of the received RF control signal; demodulating the received RF control signal using the generated reference signal having a frequency with the predetermined relationship to the RF carrier frequency to provide the data code of the RF control signal; and storing the data code provided by demodulating the received RF control signal.
 20. The method as defined in claim 19, wherein the step of comparing the reference signal to the received RF signal includes:determining that the predetermined relationship exists between the frequency of the reference signal and the RF carrier frequency when mixing the reference signal with the RF control signal results in the detection of a received data code that is verified.
 21. The method as defined in claim 20, wherein a received data code is verified bycounting the number of rising edges in the received data code occurring within a predetermined time interval, and verifying the received data code if the received data code includes a predetermined number of rising edges within said predetermined time interval.
 22. A method of training a vehicle transceiver to learn an RF carrier frequency and data code of an RF control signal received from a remote transmitter, for subsequent transmission of an RF signal having the learned RF carrier frequency and data code of the received RF control signal, the method comprising the steps of:receiving an RF control signal from a remote transmitter; generating a reference signal having a predetermined frequency; mixing the reference signal with the received RF control signal to provide a mixed output signal including the data code of the received RF signal and having a carrier frequency equal to the difference in frequency of the received RF control signal and the reference signal; filtering the mixed output signal with a bandpass filter having a center frequency and providing a filtered output signal including any data code present in the mixed output signal when the mixed output signal has a carrier frequency equal to the center frequency of the bandpass filter; demodulating the filtered output signal by removing the carrier frequency therefrom; determining whether the demodulated output signal includes a data code; changing the frequency of the reference signal until the demodulated output signal includes a data code; storing the data code included in the demodulated output signal as the data code of the received RF control signal; identifying the RF carrier frequency of the received RF control signal based upon the frequency of the reference signal; storing frequency control data representing the RF carrier frequency of the received RF control signal.
 23. The method as defined in claim 22, wherein the step of determining whether the demodulated filtered output signal includes a data code includes the steps of:counting the number of rising edges in the demodulated output signal occurring within a predetermined time interval; and determining that the demodulated filtered output signal includes a data code if the demodulated output signal includes a predetermined number of rising edges within said predetermined time interval.
 24. The method as defined in claim 23, wherein the step of storing the data code included in the demodulated filtered output signal includes the steps of:counting the number of rising edges in the data code included in the demodulated filtered output signal occurring within a second predetermined time interval; identifying the data code as fast when the data code includes a second predetermined number of rising edges within said second predetermined time interval; and encoding and storing the data code in a first manner if the data code is fast and encoding and storing the data code in a second manner if the data code is not fast.
 25. A method of training a transceiver having a voltage controlled oscillator, to learn and subsequently reproduce an RF signal received from a remote control transmitter used to actuate a device having an RF receiver, the method comprising the steps of:receiving an RF signal output from the remote control transmitter, the RF signal having characteristics including a carrier frequency and a data code; controlling the voltage controlled oscillator to generate a reference signal having a predetermined frequency; comparing the reference signal to the received RF signal to determine whether the frequency of the reference signal has a predetermined relationship to the RF carrier frequency of the received RF control signal; incrementing the frequency of the reference signal generated by the voltage controlled oscillator until the frequency of the reference signal has the predetermined relationship to the RF carrier frequency of the received RF control signal; identifying the RF carrier frequency of the received RF control signal based upon the frequency of the reference signal; storing frequency control data representing the RF carrier frequency of the received RF control signal; demodulating the received RF control signal using the generated reference signal having a frequency with the predetermined relationship to the RF carrier frequency to provide the data code of the RF control signal; storing the data code provided by demodulating the received RF control signal; controlling the voltage controlled oscillator to generate a carrier signal having the carrier frequency of the received RF signal; modulating the carrier signal with the stored data code to produce an output RF signal related to the received RF signal; and transmitting said output RF signal to the RF receiver of the device in order to remotely actuate the device.
 26. A method of training a transmitter to learn and subsequently reproduce an RF signal output from a remote control transmitter used to actuate a device having an RF receiver, the method comprising the steps of:receiving an RF signal output from the remote control transmitter, the RF signal having characteristics including a carrier frequency, a data code, and a modulation scheme; identifying the carrier frequency of the received RF signal; demodulating the received RF signal by removing the identified carrier frequency from the data code in the received RF signal; identifying the modulation scheme of the data code; encoding and storing the data code of the demodulated RF signal based upon the identified modulation scheme of the data code; generating a carrier signal having the carrier frequency of the received RF signal; modulating the carrier signal with the stored data code to produce an output RF signal related to the received RF signal; and transmitting said output RF signal to the RF receiver of the device in order to remotely actuate the device.
 27. The method as defined in claim 26, wherein said step of receiving the RF signal includes the step of determining whether the modulation scheme of the received RF signal is frequency shift-keyed.
 28. The method as defined in claim 27, wherein said step of determining whether the modulation scheme is frequency shift-keyed includes the steps of:counting a number of rising edges of the detected RF signal occurring within a predetermined time interval; and determining that the modulation scheme of the detected RF signal is frequency shift-keyed modulation when the number of rising edges counted exceeds a predetermined number.
 29. The method as defined in claim 28, wherein said predetermined time interval is 850 microseconds and said predetermined number of rising edges is five.
 30. A trainable transceiver for learning and subsequently reproducing an RF signal output from a remote control transmitter used to actuate a device having an RF receiver, the transceiver comprising:a receiver for receiving an RF signal output from the remote control transmitter, the RF signal having characteristics including a carrier frequency, a data code, and a modulation scheme; frequency identifying means coupled to said receiver for identifying the carrier frequency of the received RF signal; demodulating means coupled to said receiver for demodulating the received RF signal by removing the identified carrier frequency from the data code in the received RF signal; modulation scheme identifying means coupled to said demodulating means for identifying the modulation scheme of the data code; storing means, coupled to said demodulating means, said modulation scheme identifying means, and said frequency identifying means, for storing frequency data corresponding to the identified carrier frequency and for encoding and storing the data code of the demodulated RF signal based upon the identified modulation scheme of the data code; a signal generator for receiving said frequency data from said storing means and generating a carrier signal having the carrier frequency of the received RF signal; modulating means coupled to said signal generator and said storing means for modulating the carrier signal with the stored data code to produce an output RF signal related to the received RF signal; and an antenna coupled to said modulating means for transmitting said output RF signal to the RF receiver of the device in order to remotely actuate the device.
 31. A trainable transceiver for remotely controlling a device having an RF receiver, comprising:a receiver for receiving an RF signal output from an existing remote control transmitter used to actuate the device, the RF signal having characteristics including carrier frequency, a data code, and a modulation scheme; a memory for storing data representing the characteristics of the received RF signal; a signal generator for generating a carrier signal having the carrier frequency of the received RF signal; a modulator, coupled to said signal generator, for modulating the carrier signal with the data code in accordance with the modulation scheme of the received RF signal to produce an output RF signal; an output circuit coupled to said modulator for transmitting said output RF signal to the device in order to remotely actuate the device; and a controller coupled to said receiver, to said memory, to said signal generator, and to said modulator, for storing frequency data representing the carrier frequency of the detected RF signal and for encoding and storing the data code of the detected RF signal in said memory based upon the modulation scheme of the detected RF signal when in a training mode, and for reading the frequency data and the data code from said memory and controlling said signal generator and said modulator in accordance with the frequency data and data code to reproduce the detected RF signal as the output RF signal of said output circuit when in a transmitting mode.
 32. The trainable transceiver as defined in claim 31, wherein said controller includes modulation scheme determining means for determining whether the modulation scheme of the detected RF signal is frequency shift-keyed.
 33. The trainable transceiver as defined in claims 32, wherein said modulation scheme determining means includes means for counting a number of rising edges of the detected RF signal occurring within a predetermined time interval, and, when the number of rising edges counted exceeds a predetermined number, said modulation scheme determining means determines that the modulation scheme of the detected RF signal is frequency shift-keyed.
 34. The trainable transceiver as defined in claim 33, wherein said predetermined time interval is 850 microseconds and said predetermined number of rising edges is five. 